package com.tanhua.dubbo.api;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tanhua.domain.db.PageResult;
import com.tanhua.domain.db.UserInfo;
import com.tanhua.domain.vo.InfoVo;
import com.tanhua.domain.vo.UserInfoVo;
import com.tanhua.dubbo.mapper.BlackMapper;
import org.apache.dubbo.config.annotation.Service;
import org.springframework.beans.factory.annotation.Autowired;

import java.lang.invoke.LambdaMetafactory;
import java.util.List;

@Service
public class BlackApiImpl implements BlackApi {
//    注入BlackMapper对象
    @Autowired
    private BlackMapper blackMapper;

    /**
     * 查看黑名单列表
     * @param
     * @param
     * @return
     */
    @Override
    public PageResult<InfoVo> findBalckList(Long userId, Long page, Long pagesize) {
//      创建分页条件
        Page iPage=new Page(page,pagesize);
//      自定义一个方法 两张表联合查询
       Page<InfoVo> pages= blackMapper.findPage(iPage,userId);
//      返回pageResult对象
        Integer counts = Math.toIntExact(pages.getTotal());
        Integer pagesize1 = Math.toIntExact(pages.getSize());
        Integer pages1 = Math.toIntExact(pages.getPages());
        Integer page1 = Math.toIntExact(pages.getCurrent());
        List<InfoVo> records = pages.getRecords();
//        封装数据返回
        return new PageResult<InfoVo>(counts,pagesize1,pages1,page1,records);
    }

    /**
     * 移除黑名单
     * @param userId
     * @param uid
     */
    @Override
    public void delBalckList(Long userId, Long uid) {
        //调用方法 传入参数
        blackMapper.del(userId,uid);
    }
}
